package com.weds.data_sync.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.weds.data_sync.pojo.dto.PageDto;
import com.weds.data_sync.pojo.dto.ScriptPlanDto;
import com.weds.data_sync.pojo.entity.DataSyncScriptPlanDO;
import com.weds.data_sync.util.JsonData;

import java.util.List;

/**
 * <p>
 * 执行方案 服务类
 * </p>
 *
 * @author lhw
 * @since 2023-12-29
 */
public interface ScriptPlanService extends IService<DataSyncScriptPlanDO> {

    Integer add(ScriptPlanDto scriptPlanDto);

    Integer del(List<Long> planIds);

    Integer update(ScriptPlanDto scriptPlanDto);

    JsonData.PageData<DataSyncScriptPlanDO> queryData(PageDto pageDto);

    JsonData execute(String planNo, Boolean asyncFlag);

    JsonData startPlan(String planNo);

    JsonData stopPlan(String planNo);


    /**
     * 判断某个脚本是否被执行方案使用
     * @param scriptId
     * @return
     */
    Boolean judgeScriptInUse(Long scriptId);

    Boolean judgeScriptInUse(List<Long> scriptIds);
}
